From: Adel Gadllah Date: Fri, 22 Feb 2013 18:26:17 +0000 (+0100) Subject: xdnd: Don't wait for the stage to be disabled when it is already visible X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4650 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f644bee83195f7d094ed75e8d8e2b414be39cc96;p=gnome-shell.git xdnd: Don't wait for the stage to be disabled when it is already visible xdndHandler used to wait for the stage to show up before calling global.init_xdnd() . Since commit 65303d027aa8 xdndHandler is initalized later so the stage might be already visible at this point causing the show signal never to be emitted and thus global.init_xdnd will never be called. Fix that by checking by calling global.init_xdnd without waiting for the stage's show signal to be emitted, as the stage is guaranted to be visible at this point. --- diff --git a/js/ui/xdndHandler.js b/js/ui/xdndHandler.js index ee523358d..a662b44d4 100644 --- a/js/ui/xdndHandler.js +++ b/js/ui/xdndHandler.js @@ -21,14 +21,7 @@ const XdndHandler = new Lang.Class({ Shell.util_set_hidden_from_pick(this._dummy, true); this._dummy.hide(); - // Mutter delays the creation of the output window as long - // as possible to avoid flicker. In case a plugin wants to - // access it directly it has to connect to the stage's show - // signal. (see comment in compositor.c:meta_compositor_manage_screen) - global.stage.connect('show', function () { - global.init_xdnd(); - return false; - }); + global.init_xdnd(); global.connect('xdnd-enter', Lang.bind(this, this._onEnter)); global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged));